New tutorial: Partitioned Burgers eq. 1D #670
Conversation
… in visualize_partitioned_domain.py. Wrap boundary conditions in new class BoundaryWrapper because they are dependent on the solver iterations. Implement implicit Euler (and Jacobian and residual for the root finding iteration. Initialize participants. Zero gradient condition on the outside boundaries.
…-surrogate.sh, generate-training-data.sh. Fix floating point issue in t_index. Add --savefile argument to solver-scipy-fvolumes.py to save data for training.
…n scripts. Fix requirements.txt for scipy and surrogate solvers. Add example images for README
…ipt to check for initial conditions after installing environment.
uekerman
left a comment
There was a problem hiding this comment.
Thanks for the very nice addition already! I only had brief look in this first iteration and did not yet try to run things. Please see comments below.
Let's indeed remove the Nutils solver. Could always be added later again.
…arate from images directory.
… versions in requirements. Remove commented out code from solvers.
uekerman
left a comment
There was a problem hiding this comment.
I was able to run the cases and got meaningful results. We are probably close to merging this. Mainly cosmetics now.
I think a few scripts of utils could go into solver-scipy. Only keep those in utils that are used by neumann-surrogate as well.
|
@vidulejs I applied as much of the feedback as I could. Only a few comments are still missing:
It would be great if you could quickly add these comments, so that we can finally get this one merged and published. |
|
Hey Makis! Thanks so much for the help and for budging me! Please see my commits, I hope I've addressed the last problems. Regarding the surrogate model training -- I added another paragraph to the existing README to explain what the Actually, I can do one better and provide the full training scripts or the Jupyter notebook to reproduce the models. Problem is that those scripts are not up to the quality of the preCICE tutorials repo. I had created a public repo called neural-adapter where I did all of my master's thesis development work. It contains a bunch of slightly disorganized Jupyter notebooks and a few development artifacts. Anyway, today I pulled the repo on my new system and was able to reproduce the model training. I updated the README of that repo to include the model training workflow. Now the question is whether to point to that repo for the model training or not. Please take a look and let me know if this is acceptable. Otherwise I could try to re-create a standalone training script just for this tutorial. |
|
Thanks for the consistent follow-ups!
The repository is enough for me. But I would also suggest that you archive the scripts on Zenodo. I think that the right place would be youralready published thesis dataset. A v2 is possible and would get a different (but related) DOI. By putting the code on Zenodo, you will not have to worry about that GitHub repository again. I would suggest merging this to make it available. Once your thesis is online and the training scripts are archived, please open another small PR modifying the README. |
MakisH
left a comment
There was a problem hiding this comment.
Everything looks good now, thank you! Let's update the README.md separately if/once there are any further URLs to add (thesis/code archive).
New tutorial case: Partitioned Burgers' Equation in 1D solved with SciPy Finite Volume implementation and a Neural Network surrogate model !
Checklist:
changelog-entries/<PRnumber>.md.